# 下面就是Flask启动一个后端服务的主要逻辑了，简单的7行代码
# -*- coding:utf-8 -*-

# 1.导入flask扩展
from flask import Flask

# 2.创建flask应用程序实例
# 需要传入__name__,作用是为了确定资源所在的路径
app = Flask(__name__)


# app.config['ENV'] = "development"

# 3. 定义路由和视图函数
# Flask中定义路由是通过装饰器实现的
@app.route('/', methods=["GET", "POST"])
def index():
    return '你好 Flask!'


# 4. 启动服务
if __name__ == '__main__':
    app.run()

# python 将数据封装成JSON
import json

dict = {
    "name": "张三",
    "age": "18"
}

# 编码
str_json = json.dumps(dict)
print(str_json)

# 解码
dict2 = json.loads(str_json)
print(dict2)

# 打包文件
import zipfile
import os
import time
from time import sleep
import shutil
import random

# 压缩文件
filelist = ["D:/解压之前/发票样例/20201223_通行费电子发票_3张/invoice/91510000689919120D_f3c17dea5202450daa1d6b293390644c.pdf",
            "D:/解压之前/发票样例/20201223_通行费电子发票_3张/invoiceDetail/apply.pdf"]
# 先将不同目录下的文件复制到./temp下
time = str(int(time.time()) + random.randint(0, 100000))  # 防止冲突，因为有可能有人同时下载文件
os.mkdir("./temp/" + time)
des_path = "./temp/" + time + "/"
zip = zipfile.ZipFile(des_path + "/test.zip", "w", zipfile.ZIP_DEFLATED)
# 将指定文件复制到临时文件夹下
for i, file_path in enumerate(filelist):
    path = des_path + str(i) + ".pdf"
    f = open(path, "wb")
    src_file = open(file_path, "rb")
    f.write(src_file.read())
    f.close()
    src_file.close()
# 压缩批量文件
for file in os.listdir(des_path):
    if file.endswith('.pdf'):
        zip.write(des_path + file)
zip.close()
sleep(3)  # 等待发送
shutil.rmtree(des_path)  # 发送成功之后需要删除该文件夹
